home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 31
/
Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso
/
Aminet
/
misc
/
emu
/
warpsnes.lha
/
README.TXT
< prev
next >
Wrap
Text File
|
1998-10-14
|
35KB
|
742 lines
Snes9x v1.10 29-SEP-1998
========================
Contents
========
Changes Since Last Release
Introduction
What's Emulated
What's Not
What You Will Need
Getting Started/Command Line Options
Keyboard Controls
Joystick Support
Netplay Support
Super FX
Problems With ROMs
Sound Problems
Converting ROM Images
Speeding up the Emulation
Credits
Changes Since Last Release
==========================
1.10
- Finished NetPlay v1 - allows up to five networked machines to play
multi-player SNES games, one player on each machine.
- Switchable full-screen mode added to Linux X11 port, some code and ideas
nicked from Maciej Babinski's original Snes9x XFree86 DGA Linux port, the
UAE Amiga emulator, plus lots of my own code.
1.08
- Bug fixes to C Super FX emulation - now Winter Gold works correctly again.
1.07
- More DSP1 work. Mario Kart is now playable! The character projection code
is still broken so the opponents and obstacles aren't always positioned
correctly on screen and you keep bumping into them, but I can still keep
coming first!
- Started work on NetPlay support.
- Decreased sound card DMA buffer size on DOS port to improve sound generation
and sound CPU synchronisation in some games.
- Included Linux joystick driver patches from Vojtech Pavlik so the port can
use the new v1.x joystick drivers, again written by Vojtech Pavlik. Allows
use of Micro$oft Sidewinder pads, NES and SNES pads, PlayStation pads,
Gamepad Pros, etc.
- Added halve-the-result colour subtraction.
1.06
- Extended code to allow support for multiple 16-bit screen formats,
switchable at run-time, rather just supporting one, selectable at compile
time.
- Added XFree86 DGA Linux port - code from Maciej Babinski.
- More fixes to the X11 image format conversion and setup code.
- The asm SetByte routine wasn't wrapping writes to S-RAM correctly, allowing
some ROMs to think they were running on a copier and put up an error
screen. Thanks to Nu of #rom for the report.
- Added 'TV-Mode' support (interpolation and scan-lines) to the DOS and
UNIX ports from code based on John Stiles work.
- Added v-sync option to the DOS port.
- Added fix to Pro Action Reply support, thanks to Paul Shoener III.
- Added ggi support (untested) to Linux port using patches from
Alexander Larsson (alla@lysator.liu.se).
- Added 16 to 24/32 bit image conversion routines to the UNIX X11 code.
- The SPC700 OR1 instruction was broken. Thanks to Pyrgopolinices for the
report.
- DOS port was having trouble splitting and joining path names - caused
problems when specifying the full path name of a ROM when the ROM image
was on another drive.
- If a ROM reset the sound DSP and then turned on echo effects but kept
the same echo delay setting, then the echo effects could not be heard.
Thanks to madec@mclink.it for the bug report and freeze file that made it
easy to find the problem.
- DOS port was always using stereo sound setting, if sound card
supported it, regardless of the user preference.
- Linux port X11 port could crash if window was resized while transparency
effects were enabled.
- The colour subtraction accelerator look-up table was slightly wrong, causing
one bit of red, green blue values to 'spill' into the next field.
- Allowed colour window to cut a hole in the main-screen and show the sub-
screen underneath. The effect is used by Illusion of Gaia.
- Added support for colour subtraction, with the halve-the-result flag
set.
- Included DSP1 code from _Demo_. Now you can see the track in Mario Kart and
the ground in Pilot Wings - still can't play the games though due to other
missing commands.
- Added an NMI hack to work around a code bug in Battle Toads: BATTLEMANIACS,
its only by chance that the game works on a real SNES - And disabled it
again because it causes problems for Chrono Trigger.
- A frame skip of zero was actually still skipping one frame. Thanks to
Marius Fodor for the info.
- And yet more X-OR window bug fixes - now the effects during some of the more
'posh' spells look correct in Chrono Trigger.
- Yet another window area inversion bug - off by one pixel on right-hand edge.
- Forgot to put dummy start and end points for XOR window combination modes -
now Uniracers looks correct and Sailor Moon looks like it does on a real
SNES.
- Window clip code was using wrong index into a 2-dimensional array when
the whole of the main or sub-screens were clipped.
1.05
- The master volume disable code was looking that the wrong variable!
- Fixed crash bug in newer sound code if a ROM tried to start a sample
playing who's data went past the end of SPC700 memory. (Cannon Fodder)
1.04
- Fixed DSP1 ROM header detection bug.
- More DSP1 work; still nothing works, although I know the multiply command
is correct because I've compared the results against a real DSP1.
1.03
- Oops, the multi-player 5 disable code change broke the multi-player 5 being
the default controller.
- Implemented the colour window on the main screen - now Zelda's oval zoom
window displays correctly and Krusty's Super Fun House clips the left-most
8 pixels as it does on the real SNES.
- TERRANIGMA didn't like me returning a random value when it attempted to
read a channel's the current sample byte.
- Hacked in initial support for mode 7 priority-per-pixel - the priority bit
doesn't actually change the priority of the pixel but the two games that I
know of that use the feature look OK. (Winter Extreme Skiing and the
intro of Tiny Toons Adventures).
- Colour addition/subtraction code now uses RGB565 rather than RGB555
calculations - helps a little with the loss of the bottom bit of SNES
colour data.
- DSP1 emulation started - nothing works yet.
1.02
- Switched to adding back drop colour rather than fixed colour when
sub-screen addition is enabled but there's nothing on the sub-screen.
Uniracers seems to need it. - DISABLED it again. Causes problems for
other ROMs and Uniracers itself on later screens.
- Fixed XOR window logic combination mode and area inversion code, now
Uniracers works correctly.
- Oops, if colour window and half colour addition/subtraction were both
switched on, area outside colour window was still being halved, it shouldn't.
Hacky fix at the moment until I implement the correct fix.
- Fixed several bugs with the mosaic effect and 16x16 tiles and a few
possible background scroll offset bugs and the mosaic effect.
- Optimised the sound sample generation code for cases when the SNES
sample playback frequency was higher than the sound card playback rate.
- Fixed possible click sound when a sample was first started to be played.
1.01
- Corrected scanline count for PAL games - should be 312 lines verses 262 for
NTSC. Was causing slow music on PAL games.
- Added error correction code to the SPC700 timer update code - the
SPC700 timers are updated using the emulated h-blank handler which is
called every emulated 63.6 microseconds (15.720KHz) but the SPC700 timers
need to be updated at multiples of 8KHz, hence the error. Was causing
music to be played slightly too fast.
- Switched back to using C SPC700 code - the old SPC700 asm code was lacking
several optimisations that the C version had. It also had multiple
speed hack cycle skipping bugs. Plus I hadn't even finished optimising
all the code from the last time I converted the C compiler output.
- Optimised SPC700 memory access routines a little.
- Disabled code that prevented ROMs updating SPC700 timer values while the
timer was running - it seems like it is allowed, even though docs on the
'net I've seen say its not.
Introduction
============
Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)
emulator. It basically allows you to play most games designed for the SNES
and Super Famicom Nintendo game systems on your PC or Workstation; they
include some real gems that were only ever released in Japan.
Snes9x is the result of well over a year and a half's worth of part-time
hacking, coding, recoding, debugging, divorce, etc. (just kidding about the
divorce bit). Snes9x is coded in C++, with three assembler CPU emulation
cores o